package main

import "fmt"

// Author : CSR丶WARRIOR
// Time ： 2020/10/14  21:14
// TOOLS : GoLand
// FILENAME : structAsParam.go
// STATEMENT: 结构体作为函数参数

//输出年龄最大的学生的详细信息
type Student1 struct {
	id   int
	name string
	age  int
	addr string
}

func main() {
	var stuList = make([]Student1, 3)
	inputMsg(stuList)
	stu := getMaxAge(stuList)
	fmt.Println("年龄最大的学生信息为", stu)
}

func inputMsg(stu []Student1) {
	for i := 0; i < len(stu); i++ {
		fmt.Printf("请输入第%d个学生的信息", i+1)
		fmt.Scan(&stu[i].id, &stu[i].addr, &stu[i].age, &stu[i].name)
	}
}

//找出年龄最大的学生并返回
func getMaxAge(stu []Student1) Student1 {
	var maxAge = stu[0].age
	var index int
	for i := 1; i < len(stu); i++ {
		if stu[i].age > maxAge {
			maxAge = stu[i].age
			index = i
		}
	}
	if maxAge == stu[0].age {
		return stu[0]
	} else {
		return stu[index]
	}
}
